package zy.dao.stock.data;

import java.util.List;
import java.util.Map;

import zy.dto.stock.data.ProductSingleTrackDto;
import zy.dto.stock.data.StockAnalysisDto;
import zy.dto.stock.data.StockDataByDepotDto;
import zy.dto.stock.data.StockReportByShopDto;
import zy.dto.stock.data.StockShopDto;
import zy.entity.base.size.T_Base_Size;
import zy.entity.base.type.T_Base_Type;
import zy.entity.stock.data.T_Stock_Data;
import zy.entity.stock.data.T_Stock_DataBill;
import zy.entity.stock.data.T_Stock_DataView;
import zy.entity.sys.user.T_Sys_User;
import zy.form.NumberForm;

public interface DataDAO {
	List<T_Base_Type> listTypeByUpCode(String tp_upcode,Integer companyid);
	List<T_Base_Type> listAllType(Integer companyid);
	Integer queryStockAmount(String sub_code,String dp_code,Integer companyid);
	void save(List<T_Stock_DataBill> datas);
	void update(List<T_Stock_DataBill> datas);
	List<String> listAllDepot(Map<String,Object> params);
	Integer count(Map<String,Object> params);
	List<T_Stock_DataView> list(Map<String,Object> params);
	Map<String, Object> sum(Map<String, Object> params);
	List<String> list_szgcode(Map<String,Object> params);
	Map<String, Object> size_data(Map<String, Object> params);
	List<Map<String, Object>> sum_bydepot(Map<String, Object> params);
	Integer count_bydepot(Map<String,Object> params);
	List<StockDataByDepotDto> list_bydepot(Map<String,Object> params);
	Integer count_byshop(Map<String, Object> params);
	List<StockReportByShopDto> list_byshop(Map<String,Object> params);
	List<StockAnalysisDto> list_analysis(Map<String,Object> params);
	List<StockShopDto> stock_shop(Map<String,Object> params);
	List<Map<String, Object>> type_level_stock(Map<String,Object> params);
	Integer data_list_saleCount(Map<String,Object> param);
	List<T_Stock_DataView> data_list_sale(Map<String,Object> param);
	Map<String, Object> getCheckImportStock(T_Sys_User user,String depot_code);
	void update_import_stock(List<T_Stock_Data> stockList);
	void insert_import_stock(List<T_Stock_Data> stockList);
	List<T_Stock_Data> listByPdCode(Map<String,Object> paramMap);
	List<T_Stock_Data> listBySubCode(Map<String,Object> paramMap);
	List<T_Stock_Data> upListByCode(Map<String,Object> paramMap);
	List<ProductSingleTrackDto> single_track(Map<String, Object> params);
	Map<String, Object> countsum_single_track(Map<String, Object> params);
	//前台
	NumberForm otherCount(Map<String,Object> param);
	List<T_Stock_DataView> otherList(Map<String,Object> param);
	List<T_Stock_DataView> allOtherList(Map<String,Object> param);
	//手机端
	List<T_Stock_Data> listAPI(Map<String,Object> param);
	T_Stock_Data loadByBarcodeAPI(Map<String, Object> param);
	List<T_Base_Size> querySizeByPdCode(Map<String,Object> param);
	List<T_Stock_DataView> queryByPdCode(Map<String,Object> param);
	List<T_Stock_DataView> otherAPI(Map<String,Object> param);
}
